import Vue from 'vue'
// 引入element (1)
import ElementUI, { Form } from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 引入mint-ui （1）
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'

// 引入axios （1）
import axios from 'axios'

import App from './App'
// 引入路由
import router from './router'
// 引入vuex (1)
import  Vuex from 'vuex'

Vue.config.productionTip = false
//引入element (2)
Vue.use(ElementUI);
// 引入mint-ui （2）
Vue.use(MintUI)
// 引入axios （2） 替换vue本来的http模块
Vue.prototype.$http=axios
// 引入vuex（2）
Vue.use(Vuex)


//构造vuex（3）
const store =new Vuex.Store({
    state:{
      // 初始 数据
      count:0,
      name:'yjf'
    },
    mutations:{
      // 修改数据
      increment(state){
        state.count++
      },
      add5(state){
        state.count+=5
      },
      change(state,payload){
        state.count = payload.result
      }
    }
})


// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  console.log('请求即将发送')
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

router.beforeEach((to,form,next) =>{
    console.log('我是全局的前置守卫',666);
    next()
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  store,
  router,
  render: h => h(App)
  // components:{App},
  // template:'<App/>'
})
